项目结构
- java
- controller
- TestException.java(Java文件)
- exception
- ExceptionController.java(Java文件)
- TestExceptionResolver.java(Java文件)
- controller
- resources
- springmvc.xml(springmvc配置文件)
- webapp
- WEB-INF
- pages
- error.jsp(web页面)
- web.xml(web配置文件)
- pages
- index.jsp(web页面)
- WEB-INF
- pom.xml(maven项目配置文件)
maven项目配置文件
- 配置maven项目需要的依赖
- spring-context
- spring-web
- spring-webmvc
- servlet-api
- jsp-api
web配置文件
- 前端控制器(DispatcherServlet)
- 配置一个前端控制器(<servlet>)
- 创建前端控制器时,加载Spring配置文件(<init-param>)
- 启动服务器时,创建前端控制器(<\load-on-startup>)
- 配置前端控制器的作用范围(<servlet-mapping>)
- 配置一个前端控制器(<servlet>)
- 过滤器(CharacterEncodingFilter)
- 配置一个过滤器(<filter>)
- 配置编码(<init-param>):解决中文乱码
- 配置前端控制器的作用范围(<filter-mapping>)
- 配置一个过滤器(<filter>)
springmvc配置文件
- 导入名称空间(<beans xmlns=””>)
- 开启注解扫描(<context:component-scan base-package=””>)
- 配置视图解析器(InternalResourceViewResolver)
- 配置前缀(prefix -> “/WEB-INF/pages”)
- 配置后缀(suffix -> “.jsp”)
- 配置异常处理器(TestExceptionResolver)
- 开启SpringMVC注解支持(<mvc:annotation-driven>)
Java文件
- 表现层
- 类
- 添加进IoC核心容器(@Controller)
- 设置请求映射(@RequestMapping())
- 一级目录(path=””)
- 设置允许访问的请求方法(method=””)
- 设置必需的参数和参数值(params=””)
- 设置必需的请求头(headers=””)
- 方法
- 设置请求映射(@RequestMapping())
- 二级目录(path=””)
- 返回值(return “success”;)
- 设置请求映射(@RequestMapping())
- 类
JSP文件
- 超链接(href=”一级目录/二级目录?请求参数=值&请求参数=值”)
执行代码
- 需求:在index.jsp页面,点击的超链接,跳转到error.jsp页面,并且在页面输出响应消息。
pom.xml
1 |
|
web.xml
1 |
|
springmvc.xml
1 |
|
ExceptionController.java
1 | package cn.water.controller; |
index.jsp
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
error.jsp
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> |
异常处理
- 当Controller类出现异常时
1 | "/test01") ( |
- 自定义异常类
1 | package cn.water.exception; |
- 自定义异常处理器
1 | package cn.water.exception; |
- 配置异常处理器
1 | <!-- 配置异常处理器 --> |